Responsive layouts were introduced in RoboHelp 11 to allow your content to be viewed with ease on desktops, tablets and smartphones. The appearance adapts to suit the device, RoboHelp takes care of that. Now Adobe RoboHelp (2015 release) adds new layouts with something extra for your end-users, dynamic content filtering.
You provide the filter options to suit the requirement, be that geographical regions, trade specialization, equipment type and so on.
The end-user chooses what they want to see rather than having to wade through everything you have provided.
You can set this up so that the user can select just one of the options or so that they can multi-pick.
If you have used Content Categories (Dynamic User-Centric Content) in an earlier version of RoboHelp you will welcome the greater options Dynamic Content Filtering brings, so will your end-users. There are some differences in the setup and these are described below.
To set up the content to work with Dynamic Content Filtering, you need to be familiar with the use of conditional build tags (CBTs) and build expressions. A CBT is applied to some text or an image or any part of the topic content so that you can create simple or complex build expressions to exclude or include that content when you generate an output.
Dynamic Content Filtering allows you to use the CBTs and / or build expressions so that the end-user can choose what they want to see.
Additional information can be found in How to use the Dynamic Content Filters
Examples of Dynamic Content Filtering can be found in the following topics.
Filter Groups can accommodate single (radio buttons) and multiple (checkbox) options. The following topics demonstrate both sets of options depending on the Dynamic Content Filter Outputs generated.
Corporate Locations when using multiple option filtering output
Travel Market Packages for Corporate and Leisure when using multiple option filtering output
Members Special Travel Club when using multiple option filtering output
Touring by Air, Rail or Sea when using single option filtering output
In Travel the Whirls, we want end-users to see content according to these Filter Groups with Criteria for each:
Company Role
Travel Market Type
Country Location
The first thing we need to do is exclude from the output any content that we do not want the end-users to see, no matter how they apply the filters that we make available. That is done in the Content configuration where you can see that we do not want any topics or content that has an eBookOnly, Print or AuthorContent tag applied.
The Conditional Build Expression below excludes them from the output so we do not need to worry about them when we apply the filtering options.

With the required content in the output, we now need to set up how it can be filtered. To do this the Use Dynamic Content Filter check-box is selected and the Customize button is then clicked.

Clicking Customize displays this dialog.

Icon 1 allows us to set up groups, in this example we want three:
Company Role
Travel Market Types
Company Locations
Icon 2 displays the filtering Criteria within each Group by selecting the Tags and Expressions dialog that allows us to set up the options within that group.
As shown below, the dialog initially shows all the tags and expressions that have been set up in the project. In RoboHelp (2015 release) expressions can be named making it much easier to deal with those complex expressions where you had to stop and work out what each one did.
The expression shown below is to keep certain content from this output and that was selected in the Content Settings dialog above. Here we want to create the filter options so we select those that will yield the items that are then updated back in the Dynamic Content Filter dialog shown below.

The title can be whatever you want so here we have used it to provide an instruction to end-users.
As we want end-users to select any number of criteria, we check the Allow Multiple Selection option.
The end result in the Dynamic Content Filter dialog will be as in the image below. By default RoboHelp will display the options selected in alphabetical order, here we have used the arrow keys to change the order.

When the end-user accesses the output they can click the filter icon and select from the options you have provided. In a different project you might want to provide further groups such as Country Location, Company Role and so on.
Notice in the example below, that UK is unselected and therefore missing from the countries in the Topic pane. More complex combinations can be experienced by generating the Primary Output: Dynamic Content Filter - Multiple Output (SSL).

If you used a single TOC or Index with tags applied, you will be able to use that with Dynamic Content Filtering. If you used a different TOC or Index for each category, you will need to change to using a single TOC or Index with CBTs applied, as in this sample project.
You can only use one glossary and it is not possible to apply CBTs to it.
If you used variables only to allow quick name changes so that each variable only had one value, that will work with Dynamic Content Filtering. If you used variables so that each instance could have a different value in different outputs, then you will need to make some changes.
The responsive layouts that shipped with RoboHelp 11 will not support Dynamic Content Filtering. You will need to change to one of the RoboHelp (2015 release) layouts.
If you have previously used Content Categories in WebHelp or WebHelp Pro and now want to use Dynamic Content Filtering with a responsive layout in the same project, there are some considerations.
If you used a single TOC or Index with tags applied, you will be able to use that with Dynamic Content Filtering. If you used a different TOC or Index for each category, you will need to change to using a single TOC or Index with CBTs applied, as in this sample project.
You can only use one glossary and it is not possible to apply CBTs to it.
If you used variables only to allow quick name changes so that each variable only had one value, that will work with Dynamic Content Filtering. If you used variables so that each instance could have a different value in different outputs, then you will need to make some changes.